package com.ssy.lingxi.platform.manage.service;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.common.model.vo.SelectVO;
import com.ssy.lingxi.platform.manage.api.model.dto.unit.UnitDTO;
import com.ssy.lingxi.platform.manage.entity.base.Unit;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 单位管理类
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/6/22
 */
public interface IUnitService {

    /**
     * 查询单位
     * @return Wrapper<?>
     */
    Page<Unit> getUnitList(PageVO pageVO, String name);

    /**
     * 查询单位
     * @return Wrapper<?>
     */
    Unit getUnit(Long unitId);

    /**
     * 添加/修改单位
     */
    String saveOrUpdateUnit(UnitDTO unitRequest);

    /**
     * 删除单位
     */
    String deleteUnit(Long unitId);

    /**
     * 启用/停用单位
     */
    String updateUnitStatus(long id, Boolean status);

    /**
     * 查询中文单位下拉框
     * @param name 单位名称
     */
    List<SelectVO> getSelectCNUnit(String name);

    /**
     * 查询英文单位下拉框
     * @param name 单位名称
     */
    List<SelectVO> getSelectENUnit(String name);

    /**
     * 单位缓存到redis
     */
    void initToRedis();
}
